package com.itcpeng.dao;

import com.github.pagehelper.Page;
import com.itcpeng.pojo.Menu;
import com.itcpeng.pojo.Permission;
import com.itcpeng.pojo.Role;

import java.util.List;
import java.util.Map;
import java.util.Set;

public interface RoleDao {

   //根据用户id查询role
    Set<Role> findByUserId(Integer id);


   //查找全部页面数据
    List<Menu> findAllMenu();



    //查找全部权限数据
    List<Permission> findAllPermission();


   //新增角色
    void addNewRole(Role role);


    //添加角色与页面的关系
    void addRelationshipWithMenu(Map map);


   //添加角色与权限的关系
    void addRelationshipWithPermission(Map map);


   // 分页查询角色数据
    Page<Role> findPage(String queryString);


    //通过角色id查询角色表
    Role findRoleById(String id);


    //通过角色id查询页面与角色中间表
    List<Integer> findRelationshipWithMenu(String id);


    //通过角色id查询角色与权限中间表
    List<Integer> findRelationshipWithPermission(String id);


    //通过角色id更新角色信息
    void updateRole(Role role);


    //通过角色id删除t_role_menu数据
    void deleteRoleAndMenu(String id);


   //通过角色id删除t_role_permission数据
    void deleteRoleAndPermission(String id);


   //通过角色id删除角色信息
    void deleteRoleById(String id);

    List<Role> findAll();
}
